package com.varian.system.constant;

import com.varian.rabbit.constant.RabbitConstant;
import com.varian.rabbit.model.RabbitRoute;
import com.varian.redis.model.RKD;

/**
 * @author ben
 * @since 2024/7/1
 */
public interface SystemConstant {

    String QUEUE_USER_LOGIN_LOG = "queue_user_login_log";
    String RK_USER_LOGIN_LOG = "routing_key_user_login_log";

    String QUEUE_NOTICE_SEND = "queue_notice_send";
    String RK_NOTICE_SEND = "routing_key_notice_send";
    RabbitRoute ROUTE_NOTICE_SEND = RabbitRoute.of(RabbitConstant.EXCHANGE_DEFAULT_TOPIC, RK_NOTICE_SEND);

    String QUEUE_NOTICE_EXPIRE = "queue_notice_expire";
    String RK_NOTICE_EXPIRE = "routing_key_notice_expire";
    RabbitRoute ROUTE_NOTICE_EXPIRE = RabbitRoute.of(RabbitConstant.EXCHANGE_DEFAULT_TOPIC, RK_NOTICE_EXPIRE);

    RKD KEY_API_LOG = RKD.of("api log", "api-log:{}");
    RKD KEY_API_ERROR_LOG = RKD.of("api error log", "api-error-log:{}");
    RKD KEY_LOCK_NOTICE_SEND = RKD.of("notice send lock", "lock:notice:send:{}");
    RKD KEY_LOCK_NOTICE_EXPIRE = RKD.of("notice expire lock", "lock:notice:expire:{}");
    RKD KEY_BIZ_EXCEPTION_MESSAGE = RKD.of("biz exception message", "biz-exception:message:{}");
    RKD KEY_BIZ_EXCEPTION_MESSAGE_LOCK = RKD.of("biz exception message", "biz-exception:message:lock:{}");

    String TASK_DEPT_ADD = "dept-add-event";
    String TASK_DEPT_UPDATE = "dept-update-event";

    String USER_NOT_FOUND = "USER_NOT_FOUND";
    String USER_EXISTED = "USER_EXISTED";
    String PASSWORD_NOT_MATCHED = "PASSWORD_NOT_MATCHED";
    String ROLE_NOT_EXIST = "ROLE_NOT_EXIST";
    String ROLE_EXIST = "ROLE_EXIST";
    String ROLE_EXIST_USER = "ROLE_EXIST_USER";
    String MENU_NOT_EXIST = "MENU_NOT_EXIST";
    String MENU_PERMISSION_CODE_EXIST = "MENU_PERMISSION_CODE_EXIST";
    String MENU_HAS_CHILDREN = "MENU_HAS_CHILDREN";
    String DICT_NOT_EXIST = "DICT_NOT_EXIST";
    String DICT_EXIST = "DICT_EXIST";
    String DICT_DEFAULT_ITEM_EXIST = "DICT_DEFAULT_ITEM_EXIST";
    String API_LOG_NOT_EXIST = "API_LOG_NOT_EXIST";
    String NOTICE_RECEIVER_IDS_NOT_EMPTY = "NOTICE_RECEIVER_IDS_NOT_EMPTY";
    String NOTICE_EXPIRE_TIME_NOT_VALID = "NOTICE_EXPIRE_TIME_NOT_VALID";
    String NOTICE_NOT_EXIST = "NOTICE_NOT_EXIST";
    String NOTICE_CANNOT_BE_MODIFY = "NOTICE_CANNOT_BE_MODIFY";
    String NOTICE_CANNOT_BE_DELETE = "NOTICE_CANNOT_BE_DELETE";
    String NOTICE_PUBLISHED = "NOTICE_PUBLISHED";
    String NOTICE_EXPIRED = "NOTICE_EXPIRED";
    String NOTICE_NOT_REVOKE = "NOTICE_NOT_REVOKE";
    String BIZ_EXCEPTION_NOT_EXIST = "BIZ_EXCEPTION_NOT_EXIST";
    String BIZ_EXCEPTION_CODE_EXIST = "BIZ_EXCEPTION_CODE_EXIST";
    String DEPT_NOT_EXIST = "DEPT_NOT_EXIST";
    String DEPT_EXIST = "DEPT_EXIST";
    String PARENT_DEPT_NOT_EXIST = "PARENT_DEPT_NOT_EXIST";
    String PARENT_DEPT_CANNOT_BE_SELF = "PARENT_DEPT_CANNOT_BE_SELF";
    String TASK_NOT_EXIST = "TASK_NOT_EXIST";
    String PARAM_NOT_EXIST = "PARAM_NOT_EXIST";
    String PARAM_EXIST = "PARAM_EXIST";
}
